home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / NEW_TECH / NTUNZ2.ZIP / BUGS.LON next >
Text File  |  1994-01-23  |  18KB  |  388 lines

  1. Bogus bugs (not our fault!):
  2. ---------------------------
  3.  
  4.  By far THE BIGGEST source of bug reports to Info-ZIP/zip-bugs is the
  5.  incorrect transfer of zipfiles (or of the UnZip executable itself).
  6.  ALWAYS TRANSFER IN BINARY MODE!  This includes ftp transfers and *both*
  7.  ends of a Kermit connection ("set file type binary").  If your copy
  8.  isn't exactly the same size as the original, you made a mistake.
  9.  
  10.  Another common source of errors such as "compression method 8 not sup-
  11.  ported" is the existence of an old version of UnZip somewhere in your
  12.  path.  Make sure you're using the version you think you're using; give
  13.  the full path explicitly if necessary.  Executing "unzip" without any
  14.  options will print a help screen, at the top of which is the UnZip
  15.  version number and release date.
  16.  
  17.  
  18. Bugs (real and/or imagined):
  19. ---------------------------
  20.  
  21.  - DEC Ultrix:  on long zipfiles, unzip will sometimes fail (bad CRC, not always
  22.     reproducible); this is apparently due either to a hardware bug (cache mem)
  23.     or OS bug (page faults?) [Igor, Jean-loup, bottom of BUGS.long]
  24.  - Pyramid:  USE_FWRITE causes CRC errors (???) [Kevin]
  25.  - possible problems with unzip -a on binary file in compact-model-MSDOS-Zip-
  26.     created archive? (showed up with MSDOS zip 1.9l and various unzips; inflate
  27.     crashes(?)) [Piet]
  28.  - funzip/more/decryption/no-echo bug:  race condition(?) causes terminal
  29.     to be "reset" to no-echo state
  30.  - directory dates/times (special Unix perms?) not restored
  31.  - Macintosh (100200), Atari (020000) external file attributes not interpreted
  32.     correctly (both unzip and zipinfo)
  33.  - pkbug error:  zipfile with incorrect csize and/or ucsize--check for end of
  34.     compressed (csize) data in uncompression routines:
  35.       unimplod.c:    while ((!zipeof) && ((outpos + outcnt) < ucsize)) {
  36.       unreduce.c:    while (((outpos + outcnt) < ucsize) && (!zipeof)) {
  37.     [James Birdsall, Mark, bottom of BUGS.long]
  38.  - OS/2:  directory EAs not restored if directory exists [Kai Uwe, KG27515@uark]
  39.     (subsequent note:  no way to determine which EAs are newer ==> cannot 
  40.     restore without user input)
  41.  - MS-DOS:  Borland executables don't allow other than 80-column, 25/43/50-line
  42.     screen modes (Borland bug) [Michael Stillwell]
  43.  
  44.  
  45. Features (possible and/or definite):
  46. -----------------------------------
  47.  
  48.  - put man pages in more "proper" nroff format
  49.  - ignore case for internal filename match on non-Unix systems, unless file-
  50.     specs enclosed in single quotes
  51.  - save/extract Unix mtime/ctime/atime/UID/GID info (Unix extra field)
  52.  - modify to decompress input stream if part of a pipe, but continue using
  53.     central directory if not (BIG job!)--extended local header capability
  54.  - add zipinfo option(s) to sort alphabetically, by date/time, in reverse, etc.
  55.  - add "near" to global vars [Steve Salisbury, 92.4.21]
  56.  - modify set_file_time routines to share common code (macro?)
  57.  - when listing filenames, use '?' for non-printables? [Thomas Wolff, 92.6.1]
  58.  - add zipinfo "in-depth" option? (check local vs. central filenames, etc.)
  59.  - create zipcat program to concatenate zipfiles
  60.  - assembly-language routines?
  61.  - VM/CMS version (Walter Moore, Phil Howard, Chua Kong Sian, others)
  62.  - add -oo option (overwrite and override)?  no user queries (if bad password,
  63.     skip file; if disk full, take default action; if VMS special on non-VMS,
  64.     unpack anyway; etc.)
  65.  - add -Q[Q[Q]] option (quiet mode on comments, cautions, warnings and errors)?
  66.     forget -oo, or make synonym?  Default level -Q?
  67.  - add OS/2 .INF format helpfiles for UnZip and ZipInfo?
  68.  
  69.  
  70.  
  71.  
  72. Additional thoughts/reports/arguments/issues (many VMS):
  73. -------------------------------------------------------
  74.  
  75. From: tp@mccall.com (Terry Poot)
  76. Newsgroups: comp.os.vms
  77. Subject: Re: Speeding up VAX C writes
  78. Date: 22 Oct 91 11:48:59 GMT
  79.  
  80. In article <1991Oct21.130745.1018@lsl.co.uk>, paul@lsl.co.uk (Paul Hardy)
  81. writes:
  82. >Some months ago, I remember seeing an item here about how to speed up
  83. >writes from VAX C, in the case where the data being written was binary.
  84.  
  85. Actually, the only trick I know about works no matter what the data is. I'm
  86. talking here about the normal C stream_lf files. You can use other RMS file
  87. types by specifying parameters to fopen, open, or creat, and they may be faster
  88. or slower depending on what you are doing, and how you are doing it. However,
  89. there is a way to speed up most I/O on stream files, in many cases
  90. dramatically.
  91.  
  92. You want to add the argument "mbc=nnn" where nnn is the number of pages of
  93. memory you can spare for I/O buffering. mbc is the RMS field name for the
  94. Multi-Block Count. It tells the C rtl to use a buffer big enough to hold nnn
  95. blocks (blocks are the same size as pages for a little while longer at least,
  96. 512 bytes). Thus rather than reading or writing a block at a time, you can have
  97. it do it 200 blocks at a time, if you can spare 100Kb of memory, or any other
  98. value. (I'm sure there's an upper limit, but I don't know what it is. In
  99. practical terms, for most people it'll probably be PGFLQUO.)
  100.  
  101. BTW, note that I said the C rtl and not RMS. C I/O uses RMS block mode I/O,
  102. which doesn't actually support mbc. It does, however, support whatever buffer
  103. size you choose, as long as it is an integral number of blocks. The designers
  104. of the RTL decided to check for mbc even on normal C stream files and allocate
  105. the buffer size accordingly (Thanks, guys!). This is why specifying mbf, the
  106. multi-buffer size, doesn't do anything. They didn't do multi-buffering, and RMS
  107. doesn't support that either for block mode I/O. (Anyone wanna submit an
  108. enhancement request SPR?)
  109.  
  110. These little tidbits of info are courtesy one of the C RTL developers, from
  111. discussion after a session on C I/O at the DECUS symposium in Las Vegas.
  112.  
  113.  
  114. ------------------------------
  115. From: techentin@Mayo.EDU (Bob Techentin)
  116. Newsgroups: comp.os.vms
  117. Subject: Re: Speeding up VAX C writes
  118.  
  119. Paul Hardy, <paul@lsl.co.uk> asked:
  120.  
  121. >  Some months ago, I remember seeing an item here about how to speed up
  122. >  writes from VAX C, in the case where the data being written was binary.
  123. >
  124. >  We now have an application which is using fopen, then fseek and fwrite,
  125. >  and is taking forever to do the writes. I'm sure that by putting the right
  126. >  magic words in the fopen, we can cut out a lot of the unneccessary work
  127. >  that the C RTL is doing on our behalf.
  128.  
  129. The VAX C RTL function fopen() creates files that are stream-lf by default.  
  130. This is not a natural kind of file for RMS, which prefers record oriented 
  131. structures.  You can use some non-portable options in the fopen() command to 
  132. create record oriented files.   The call:
  133.  
  134.     fp = fopen(filename, access, "ctx=rec");
  135.  
  136. will force the RTL to use record access for read or write - even on a streamlf 
  137. file.  This improves performance significantly.  The call:
  138.  
  139.     fp = fopen(filename, "w", "rfm=var", "rat=cr");
  140.  
  141. will create a variable length record/carriage return carriage control file 
  142. (instead of a stream-lf/no carriage control file), which is what your typical 
  143. text editor creates.  Read and write performance to record structure files is 
  144. even better than just specifying record access.
  145.  
  146. You can use other options documented in the VAX C Run-Time Library Reference 
  147. Manual, creat() function.  We set multibuffer counts, default extensions, and 
  148. read-ahead and write-behind buffering to improve our file performance.
  149.  
  150. Bob Techentin                              Internet: Techentin@Mayo.Edu
  151. Mayo Foundation, Rochester MN, 55905 USA             (507) 284-2702
  152.  
  153.  
  154. ------------------------------
  155. Date: Sun, 12 May 91 11:30:40 PDT
  156. From: madler@cobalt.cco.caltech.edu (Mark Adler)
  157.  
  158. James Birdsall cautions:
  159.  
  160. >>    Warning! Do NOT trust PKUNZIP -t. I have a ZIP file which is badly
  161. >> corrupted -- missing about 25K from the end. PKUNZIP -t claims it is OK.
  162.  
  163. Rather alarming.  It is a problem, but it's not as bad as it sounds
  164. initially.
  165.  
  166. I took a look at his zoo201.zip (which has the single entry zoo201.tar)
  167. and here's what I found:
  168.  
  169. 1. Unzip fails with a crc error.
  170. 2. PKUNZIP succeeds, but the resulting file is too short (444416
  171.    compared to the 532480 reported in the zip file).
  172. 3. If I PKZIP that 444416 byte file, I get exactly zoo201.zi